<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>C.7 延迟方法 - jQuery快速参考</title>
<style type="text/css">
body { font-size:0.75em; }
table { width:99%; margin:0 auto; border-top:2px solid #000; border-bottom:2px solid #000; border-collapse:collapse; border-spacing:0; }
table th, table td { padding:0.4em 2em; }
table th { border-bottom:1px solid #000; }
</style>
</head>

<body>
<h3>jQuery快速参考（索引）</h3>
<ul>
  <li><a href="./jq_n1.html">C.1 选择符表达式</a></li>
  <li><a href="./jq_n2.html">C.2 DOM遍历方法</a></li>
  <li><a href="./jq_n3.html">C.3 事件方法</a></li>
  <li><a href="./jq_n4.html">C.4 效果方法</a></li>
  <li><a href="./jq_n5.html">C.5 DOM操作方法</a></li>
  <li><a href="./jq_n6.html">C.6 AJAX方法</a></li>
  <li><a href="./jq_n7.html">C.7 延迟方法</a></li>
  <li><a href="./jq_n8.html">C.8 其他方法</a></li>
</ul>
<hr />
<h1>jQuery快速参考</h1>
<h2>C.7 延迟方法</h2>
<p>延迟对象及其承诺可以让我们使用方便的语法在长时间运行的任务完成后作出响应。相关内容在第11章有详细的讨论。</p>
<h3>C.7.1 创建对象</h3>
<table>
  <caption>
  表 C-35
  </caption>
  <tr>
    <th scope="col">函数</th>
    <th scope="col">说明</th>
  </tr>
  <tr>
    <td>$.Deferred([setupFunction])</td>
    <td>返回一个新的延迟对象（deferred读[dɪ'fɜːd]意[延期的、推迟]）</td>
  </tr>
  <tr>
    <td>$.when(deferreds)</td>
    <td>在给定的延迟对象解决了之后返回一个待解决的承诺对象</td>
  </tr>
</table>
<h3>C.7.2 延迟对象的方法</h3>
<table>
  <caption>
  表 C-36
  </caption>
  <tr>
    <th scope="col">方法</th>
    <th scope="col">说明</th>
  </tr>
  <tr>
    <td>.resolve([args])</td>
    <td>解决延迟对象并使用给定的参数调用完成回调函数</td>
  </tr>
  <tr>
    <td>.resolveWith(context, [args])</td>
    <td>解决延迟对象并使用给定的参数调用完成回调函数，同时让关键字this引用回调函数中的context</td>
  </tr>
  <tr>
    <td>.reject([args])</td>
    <td>拒绝延迟对象并使用给定的参数调用失败回调函数</td>
  </tr>
  <tr>
    <td>.rejectWith(context, [args])</td>
    <td>拒绝延迟对象并使用给定的参数调用失败回调函数，同时让关键字this引用回调函数中的context</td>
  </tr>
  <tr>
    <td>.promise([target])</td>
    <td>返回与当前延迟对象对应的承诺对象</td>
  </tr>
</table>
<h3>C.7.3 承诺对象的方法</h3>
<table>
  <caption>
  表 C-37
  </caption>
  <tr>
    <th scope="col">方法</th>
    <th scope="col">说明</th>
  </tr>
  <tr>
    <td>.done(callback)</td>
    <td>当对象被解决之后调用callback</td>
  </tr>
  <tr>
    <td>.fail(callback)</td>
    <td>当对象被拒绝之后调用callback</td>
  </tr>
  <tr>
    <td>.always(callback)</td>
    <td>当对象被解决或被拒绝之后调用callback</td>
  </tr>
  <tr>
    <td>.then(doneCallbacks, failCallbacks)</td>
    <td>当对象被解决之后调用doneCallbacks，或在对象被拒绝之后调用failCallbacks</td>
  </tr>
  <tr>
    <td>.isRejected()</td>
    <td>如果对象被拒绝了，返回true</td>
  </tr>
  <tr>
    <td>.isResolved()</td>
    <td>如果对象被解决了，返回true</td>
  </tr>
  <tr>
    <td>.pipe([doneFilter], [failFilter])</td>
    <td>返回一个新的承诺对象，该对象在原始承诺对象被解决时也会被解决，可选地通过一个函数来进行筛选</td>
  </tr>
</table>
<hr />
<h3>jQuery快速参考（索引）</h3>
<ul>
  <li><a href="./jq_n1.html">C.1 选择符表达式</a></li>
  <li><a href="./jq_n2.html">C.2 DOM遍历方法</a></li>
  <li><a href="./jq_n3.html">C.3 事件方法</a></li>
  <li><a href="./jq_n4.html">C.4 效果方法</a></li>
  <li><a href="./jq_n5.html">C.5 DOM操作方法</a></li>
  <li><a href="./jq_n6.html">C.6 AJAX方法</a></li>
  <li><a href="./jq_n7.html">C.7 延迟方法</a></li>
  <li><a href="./jq_n8.html">C.8 其他方法</a></li>
</ul>
<p>本内容收集自《jQuery基础教程<sup style="font-size:0.5em;">（第三版）</sup>》，仅自用，禁止发布与公开！</p>
</body>
</html>
